package org.zhu.mybatis_test;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;
import org.zhu.mybatis_test.bean.Pageable;
import org.zhu.mybatis_test.bean.User;
import org.zhu.mybatis_test.bean.UserPage;

import java.util.List;

/**
 * @author yingzhi zhu
 * date 2018/1/19.
 */
@Mapper
public interface TestMapper {

    /**
     * 获取所有的用户 不分页
     * @return
     */
    List<User> getAll();

    /**
     * 更新用户
     * @return
     */
    int updateUser();

    /**
     * 分页获取用户
     * @param pageable 分页对象
     * @return
     */
    List<User> selectPage(Pageable pageable);

    /**
     * 分页获取用户
     * @param pageable 分页对象
     * @param flag 参数1
     * @param id 参数2
     * @return
     */
    List<User> selectPage1(Pageable pageable,@Param("flag") String flag,@Param("id") int id);

    /**
     * 分页获取用户
     * @param userPage 继承自Pageable的实体对象
     * @return
     */
    List<User> selectPage2(UserPage userPage);
}
